常见问题解答

全部展开 全部收起
  • 什么是 Instant Client?

    Instant Client 将 Oracle Database 库、工具和头文件重新打包在一起,可用于创建和运行连接到远程(或本地)Oracle Database 的应用。Instant Client 可用于运行 OCI、OCCI、Pro*C、JDBC 和 ODBC 应用,并可用于运行脚本语言驱动程序,包括 PHP 的 OCI8、Python 的 cx_Oracle、Node.js 的 node-oracledb 以及 Ruby 的 ruby-oci8 API。SDK 软件包提供了头文件,用于编译使用 OCI 和 OCCI API 的 C 以及 C++ 程序。Instant Client 软件包还提供了一些实用程序,例如 SQL*Plus、Workload Replay Client、Data Pump 和 SQL*Loader。Instant Client 主页上介绍了可用的 Instant Client 软件包。

  • 为什么使用 Instant Client?

    Instant Client 的优点是,只需对 ZIP 软件包快速解压缩即可安装,或可简单安装 Linux RPM 软件包。Instant Client 的占用空间要比整个 Oracle Client 小得多。其他优点是,它可根据支持重新分配的 OTN 许可证提供。基于 Instant Client 的应用可充分利用缓存和连接池等 Oracle Client 功能、网络加密等 Oracle Net 功能以及各种各样的 Oracle Database 功能。

  • Instant Client 与各种数据库版本的互操作性如何?

    对于与完整 Oracle Client 进行互操作的任何数据库版本,基于 Instant Client 的应用也可与之进行互操作。例如,Instant Client 12.2 可连接至 11.2、12.1 和 12.2 数据库。详细信息可参见支持文档 ID 207303.1 中的互操作性矩阵。请注意,Instant Client 包含许多不同的 Oracle 工具和技术,其中一些可能具有更严格的要求。

  • 可从何处获取 Instant Client?

    可从 OTN 安装 Instant Client 软件包。Oracle Linux 用户可从 ULN 安装。此外,也可在安装完整 Oracle Client 时选择安装此软件包。Instant Client 与每个 Oracle Database 版本同时提供。包括 Apple macOS 在内的多个平台也提供 Instant Client 软件包,但未提供 Database 或完整的 Client。

  • Instant Client 的费用是多少?

    任何人均可从 OTN 免费获取 Instant Client,用于开发或生产环境。但是,客户仅在已签订标准支持合同的情况下,才能获得 Oracle 支持服务。

  • 是否能重新分发 Instant Client?

    根据许可规定,可免费捆绑和重新分发 Instant Client。企业可在其组织内重新分发 Instant Client。但是,客户仅在已签订标准支持合同的情况下,才能获取 Instant Client 的 Oracle 支持服务。

  • 如何在 Instant Client 模式下指定连接字符串?

    所有不要求使用 ORACLE_HOME(查找 tnsnames.ora 或 sqlnet.ora 等配置文件)的 Oracle Net 命名方法,在 Instant Client 模式下均适用。

    对于基于 C 和 C++ 的应用,可采用以下格式指定连接字符串:

    采用以下形式的 Easy Connect 字符串:

    [//]host_name[:port][/service_name][:server_type][/instance_name]
    such as:
    
    localhost/pdborcl
    

    作为 Oracle Net 关键字/值对。例如:

    "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=dlsun242)
    (PORT=5521))
    (CONNECT_DATA=(SERVICE_NAME=bjava21)))"

    如果设置了 TNS_ADMIN 环境变量,则要求使用 TNS_ADMIN 查找配置文件的命名方法仍将适用。

    如果未设置 TNS_ADMIN 环境变量,但使用了 inst1 等 TNSNAMES 条目,则必须设置 ORACLE_HOME 变量,并且配置文件应位于 $ORACLE_HOME/network/admin 目录中。

    请注意,在这种情况下,ORACLE_HOME 变量仅用于查找 Oracle Net 配置文件,并且客户端代码库的任何其他组件(OCI、NLS 等)均不使用 ORACLE_HOME 的值。

    不支持继承适配器或空连接字符串。不过,使用空连接字符串的替代方法是,将 TWO_TASK 环境变量(在 UNIX 上)或 LOCAL 变量(在 Windows 上)设置为 tnsnames.ora 条目或 Oracle Net 关键字/值对。如果 TWO_TASK 或 LOCAL 设置为 tnsnames.ora 条目,则 tnsnames.ora 文件必须能由 TNS_ADMIN 或 ORACLE_HOME 设置加载。

  • Instant Client 与 Oracle Names 兼容吗?

    不,Instant Client 与 Oracle Names 不兼容。尽管 Instant Client 可与旧数据库向后兼容,但它不支持现已弃用的功能,包括 Oracle Names。请参阅 Metalink 简讯

  • Instant Client 如何与 ORACLE_HOME 交互?

    只要库加载路径在 ORACLE_HOME 中的库目录之前具有包含 Instant Client 文件的目录(例如,instantclient 目录),则该应用将在 Instant Client 模式下运行,并且将不使用 ORACLE_HOME 中的库。

  • 预计 Oracle 环境变量会有哪些行为更改?

    在 Instant Client 模式下,将忽略环境变量 ORA_NLS33、ORA_NLS32 和 ORA_NLS。应将 ORA_TZFILE 环境变量设置为大型时区文件的名称,而不是其完整路径。所有其他环境变量(例如 NLS_LANG)的行为未发生更改。

  • 为什么会收到“找不到消息文件”错误消息?

    部分 Oracle 应用当前正在 Instant Client 下对操作进行认证。此类消息将在认证完成后消失。

  • 应用与 Instant Client 一起运行时,为什么占用的虚拟内存量会增加?

    Instant Client 库占用的虚拟地址空间量与文件的大小相同。但是,只有来自库的常用错误消息才会占用物理内存。在大多数情况下,尽管保留的虚拟地址空间较大,但物理内存负载仍为几个 KB。

  • Windows 上的 Instant Client 如何使用注册表设置?

    可在注册表中面向所有用户或基于每个用户,为已启用 Instant Client 的应用进行特殊设置。

    • 1。 通过使用注册表编辑器(regedit 或 regedt32),转至 HKEY_LOCAL_MACHINE\SOFTWARE(对于全局设置)或 HKEY_LOCAL_MACHINE\HKEY_CURRENT_USER\SOFTWARE(对于每个特定用户)。
    • 2。 添加 ORACLE 组键。
    • 3。 在 ORACLE 键中为不同目标设置(NLS_LANG、TNS_ADMIN 等)添加新的字符串值。对于作为目录的键,使用全限定路径。
  • Instant Client 如何与基于 ORACLE_HOME 的现有客户端交互?

    如果计算机上已安装 Oracle Client,我们建议:

    • 1。 不要将 Instant Client 库解压缩或复制到 ORACLE_HOME/lib 或 ORACLE_HOME/bin 目录中,以避免覆盖文件和出现安装不一致。通常,我们建议将 Instant Client 库放入单独的空目录中。
    • 2。 不要在库路径中同时放置 Instant Client 目录和 Oracle Client 目录,无论排序如何。请根据要使用的版本,在库路径(LD_LIBRARY_PATH 或 PATH,取决于平台)中使用 Instant Client 目录或 Oracle Client 目录,但不能同时使用两者。
  • 如何确保在 Instant Client 中使用 Oracle Net 文件(例如“tnsnames.ora”和“sqlnet.ora”)?

    通过将 TNS_ADMIN 环境变量或注册表项设置为包含文件的目录,Instant Client 便能找到“tnsnames.ora”、“sqlnet.ora”和“oraaccess.xml”等文件。使用完整目录路径;不包括文件名。或者,在 Instant Client 目录下为 Oracle Net 文件创建子目录“network/admin”。这是默认位置,因此不需要 TNS_ADMIN 变量。

  • 是否能将 LDAP 与 Instant Client 一起使用?

    可以。自 10.1.0.4 版本开始,LDAP 可与 Instant Client 一起使用。

  • Instant Client 是否支持 Pro*C?

    是,支持在 Unix 平台上同时运行 Pro*C 与 Instant Client 10.2.0.x。当前,不支持在 Windows 上同时运行 Pro*C 与 Instant Client。

Instant Client 主页

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。